Ubuntu使用APT(Advanced Package Tool)作為其主要的套件管理工具。讓我們通過一些實例來學習相關的指令。
sudo apt update
這個命令更新本地套件數據庫,但不安裝任何東西。
sudo apt upgrade
這個命令升級所有已安裝的套件到最新版本。
apt search nginx
搜索可用的套件。
sudo apt install htop
安裝指定的套件。
sudo apt remove htop
移除指定的套件,但保留配置文件。
sudo apt purge htop
完全移除套件,套件括其配置文件。
apt show htop
顯示指定套件的詳細信息。
apt list --installed
列出所有已安裝的套件。
apt autoremove
移除不再需要的套件(通常是作為其他套件的依賴安裝的)。
具體的例子來說明套件依賴關係,LAMP 代表 Linux, Apache, MySQL, 和 PHP。這是一個常用的 Web 開發環境。
apt update
apt upgrade
apt install apache2
apt install mysql-server
apt install php libapache2-mod-php php-mysql
apt install sudo
sudo service apache2 start
sudo service mysql start
創建一個 PHP 信息頁面:
echo "<?php phpinfo(); ?>" | tee /var/www/html/info.php
訪問 http://localhost/info.php 以查看 PHP 信息頁面。
Apache (apache2):
MySQL (mysql-server):
PHP (php libapache2-mod-php php-mysql):
php
:這是 PHP 核心套件。libapache2-mod-php
:這是 Apache 的 PHP 模組,它使 Apache 能夠處理 PHP 文件。這個套件依賴於 apache2
和 php
。php-mysql
:這是 PHP 的 MySQL 擴展,允許 PHP 與 MySQL 數據庫通信。它依賴於 php
和 mysql-server
。當你運行 sudo apt install php libapache2-mod-php php-mysql
時,apt 會自動解析這些依賴關係。如果 Apache 或 MySQL 還沒有安裝,它會自動安裝它們作為依賴項。
這裡有幾個關於依賴的重要概念:
自動依賴解析:當你安裝一個套件時,apt 會自動安裝所有必要的依賴套件。
版本兼容性:apt 會確保安裝相互兼容的版本。
衝突處理:如果存在套件衝突,apt 會通知你並嘗試解決衝突。
移除依賴:當你移除一個套件時,自動安裝的依賴可能會保留。這就是為什麼有時候需要運行 sudo apt autoremove
來清理不再需要的依賴。
例如,如果你決定移除 PHP:
sudo apt remove php libapache2-mod-php php-mysql
這會移除 PHP 相關的套件,但可能會留下一些不再需要的依賴。然後你可以運行:
sudo apt autoremove
這將清理不再需要的依賴套件。
apt功能真的很強大,因為API開發時常常遇到套件與套件之間的衝突,有時候啟動時才發現,apt可以直接協助確認兼容性,還可以將依賴的套件一次清掉,這幫專案受身很有幫助。